#ifndef DBTOOLPLUGININTERFACE_H
#define DBTOOLPLUGININTERFACE_H

#include "plugininterface.h"
#include <QSqlDatabase>
#include <QMenu>
#include <QToolBar>
#include <QMainWindow>

// 数据库工具特定的插件接口
class DBToolPluginInterface : public PluginInterface
{
public:
    virtual ~DBToolPluginInterface() {}
    
    // 设置主窗口引用
    virtual void setMainWindow(QMainWindow *mainWindow) = 0;
    
    // 设置当前数据库连接
    virtual void setDatabase(const QSqlDatabase &db) = 0;
    
    // 添加菜单项到主窗口
    virtual void addMenuItems(QMenu *pluginMenu) = 0;
    
    // 添加工具栏按钮
    virtual void addToolBarItems(QToolBar *toolBar) = 0;
    
    // 处理主窗口事件
    virtual void handleEvent(const QString &event, const QVariantMap &params) = 0;
};

// 声明插件接口
QT_BEGIN_NAMESPACE
Q_DECLARE_INTERFACE(DBToolPluginInterface, "com.dbtool.DBToolPluginInterface")
QT_END_NAMESPACE

#endif // DBTOOLPLUGININTERFACE_H